Typed Concurrent Programming with Logic Variables
نویسندگان
چکیده
We present a concurrent higher-order programming language called Plain and a concomitant static type system. Plain is based on logic variables and computes with possibly partial data structures. The data structures of Plain are procedures, cells, and records. Plain’s type system features record-based subtyping, bounded existential polymorphism, and access modalities distinguishing between reading and writing.
منابع مشابه
TECHNICAL REPORT 94-12 Typed Higher-Order Concurrent Linear Logic Programming
We propose a typed, higher-order, concurrent linear logic programming called higher-order ACL, which uniformly integrates a variety of mechanisms for concurrent computation based on asynchronous message passing. Higher-order ACL is based on a proof search paradigm according to the principle, proofs as computations, formulas as processes in linear logic. In higher-order ACL, processes as well as...
متن کاملA Fully Abstract Semantics for a Concurrent Functional Language with Monadic Types
This paper presents a typed higher-order concurrent functional programming language, based on Moggi’s monadic metalanguage and Reppy’s Concurrent ML. We present an operational semantics for the language, and show that a higherorder variant of the traces model is fully abstract for maytesting. This proof uses a program logic based on Hennessy– Milner logic and Abramsky’s domain theory in logical...
متن کاملHigher-Order Concurrent Linear Logic Programming
We propose a typed, higher-order, concurrent linear logic programming called higher-order ACL, which uniformly integrates a variety of mechanisms for concurrent computation based on asynchronous message passing. Higher-order ACL is based on a proof search paradigm according to the principle, proofs as computations, formulas as processes in linear logic. In higher-order ACL, processes as well as...
متن کاملA Concurrent Implementation of Curry in Java
Curry is a multi-paradigm declarative language aiming to amalgamate functional, logic, and concurrent programming paradigms. Curry combines in a seamless way features from functional programming and (concurrent) logic programming. Curry's operational semantics is based on the combination of lazy reduction of expressions together with a possibly non-deterministic binding of free variables occurr...
متن کاملObject - Oriented Concurrent Constraint Programming
1.1 Abstract Oz is a higher-order concurrent constraint programming system under development at DFKI. It combines ideas from logic and concurrent programming in a simple yet expressive language. From logic programming Oz inherits logic variables and logic data structures, which provide for a programming style where partial information about the values of variables is imposed concurrently and in...
متن کامل